package milkyway.hightech.locales;

import milkyway.hightech.money.Currency;

import java.text.DateFormat;
import java.text.NumberFormat;

import java.util.HashMap;
import java.util.ListResourceBundle;
import java.util.Locale;
import java.util.Map;

/**
 *
 * @author michael
 */
public class Locale_en_UK extends ListResourceBundle
{
    private Map<String, String[]> methods = new HashMap<String, String[]>();
    private Locale locale = new Locale("en", "UK");
    private DateFormat date = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,
        DateFormat.DEFAULT, locale);
    
    private char currencyPlainText = 164;
    
    private Object[][] contents = {
        { "payInMoney", "Payment" },
        { "currency", Currency.GBP },
        { "currencyPlainText", currencyPlainText },
        { "currencyHTML", "&pound;" },
        { "date", "Date of Transfer" },
        { "reason", "Reason of Transfer" },
        { "amount", "Amount" },
        { "numberFormat", NumberFormat.getCurrencyInstance(locale) },
        { "dateFormat", date },
        { "information", "Information" },
        { "drawMoney", "Payment" },
        { "formElementValues", methods },
        { "THREE_MONTH", "3 Month" },
        { "SIX_MONTH", "6 Month" },
        { "NINE_MONTH", "9 Month" },
        { "TWELVE_MONTH", "12 Month" },
        { "contractPeriod", "Contract period: " },
        { "messageTitel", "Important message" },
        { "errorMessageTitel", "Error" },
        { "creditInterest", "credit interest: " },
        { "debitInterest", "debit interest: " },
        { "emptyInput", "The input field can not be empty: " },
        { "accountNotExpired", "The chosen account is not expired"
            + " at this time!\n" + "Therefore the transaction you would"
            + " like to applie can not be executed." },
        { "bankNotFound", "The bank you typed in does not exist!\n" +
            "Please check the name of the bank and try it again" },
        { "investmentConditions", "Our investment conditions:" },
        { "giroConditions", "Our giro conditions:" },
        { "notEnoughMoney", "Can not applie, you do not have a sufficient"
            + " cover!" },
        { "transferOK", "Your money was successfully transfered!" },
        { "drawMoneyOK", "Please take your money!" },
        { "stringInputError", "The input has only to consist of letters!" },
        { "intInputError", "The input has only to consist of numbers!" },
        { "accountNotFound", "Account not found!" },
        { "payInMoneyOK", "Payment was successful. The amount of your"
            + " payment was: " },
        { "couldNotApplyTransfer", "The transfer could not be applied" },
        { "openAccountOK", "Your account was successfully opened."
            + " Your accountnumber is: " },
        { "accountBalance", "Your accountballance is: " },
        { "getStatementOK", "Your account statement was successfully"
            + " generated!" },
        { "wrongAccountNumber", "The account to the given accountnumber"
            + " could not be found!" },
        { "systemNotAvailable", "The system is currently not available."
            + " Please try it again in a few minutes!" } };

    public Locale_en_UK()
    {
        methods.put("openInvestmentAccount", new String[] {
            "Open new investment account",
            "Accountholder",
            "Condition" });
        
        methods.put("openGiroAccount", new String[] {
            "Open new Giro account",
            "Accountholder",
            "Condition" });
        
        methods.put("getAccountBalance", new String[] {
            "Get account balance",
            "Accountnumber" });
        
        methods.put("payInMoney", new String[] {
            "Pay in money",
            "Accountnumber",
            "Amount" });
        
        methods.put("drawMoney", new String[] {
            "Draw money",
            "Accountnumber",
            "Amount" });
        
        methods.put("transferMoney", new String[] {
            "Credit transfer",
            "Targetbank",
            "Source accountnumber",
            "Target accountnumber",
            "Amount",
            "Currency",
            "Reason of transfer" });
        
        methods.put("getAccountStatement", new String[] {
            "Get accountstatement",
            "Accountnumber",
            "Filename",
            "Format",
            "Sort order" });
        
        methods.put("getConditions", new String[] {
            "Get current conditions" });
    }

    /**
     *
     * @return
     */
    @Override
    protected Object[][] getContents()
    {
        return contents;
    }
}
